package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.PrtLevelEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 会员推广关系实体类，用于记录会员之间的推广关系和相关推广等级信息。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "member_promotion")
public class MemberPromotion {

    /**
     * 推广关系ID，主键，自动生成的唯一标识。
     */
    @ApiModelProperty(value = "推广关系ID", example = "1")
    private Long id;

    /**
     * 邀请者ID，发起推广的会员ID。
     */
    @ApiModelProperty(value = "邀请者ID", example = "1001")
    private Long inviterId;

    /**
     * 受邀者ID，接受推广的会员ID。
     */
    @ApiModelProperty(value = "受邀者ID", example = "1002")
    private Long inviteesId;

    /**
     * 推广等级，当前推广关系的等级。
     */
    @ApiModelProperty(value = "推广等级", example = "1")
    private PrtLevelEnum level;

    /**
     * 创建时间，推广关系创建的时间戳。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private LocalDateTime createTime;
}
